extends Node2D

var ty=0#水面平时y
var k=0#弹性
var u=0#阻力占比
var v=0#竖直速度
var w=[]#所有water_spring节点列表
var n=0#本节点列表中位置
var ts=0#波传递质点速度与边上点关系

func supdate(delta):
	v+=(w[n-1].v+w[n+1].v)*ts/2 if n>0&&n<w.size()-1 else (w[1].v*ts if n==0 else w[w.size()-2].v*ts)
	v+=k*(ty-position.y)
	v*=(1-u)
	position.y+=v

func sinit(x,y,ks,us,wl,ns,t):
	ty=y
	position=Vector2(x,y)
	k=ks
	u=us
	w=wl
	n=ns
	ts=t
